home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Bus / T-Z / VCR+(app+src) Folder / Sources / interleave.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-14  |  970 b   |  62 lines  |  [TEXT/KAHL]

  1. #include "VCRplus.h"
  2.  
  3. void    interleave(long    tblidx, long cval , long *t8c5, long *t2c1)
  4. {
  5.     long     small, big, b;
  6.  
  7.     small = 0;
  8.     big = 0;
  9.  
  10.     /* build t2c1 */
  11.     b = 0x00000001 & (tblidx >> 2) ;
  12.     small += (b << 4);
  13.  
  14.     b = 0x00000001 & (tblidx >> 1) ;
  15.     small += (b << 2);
  16.  
  17.     b = 0x00000001 & tblidx ;
  18.     small += b;
  19.  
  20.     b = 0x00000001 & (cval >> 1) ;
  21.     small += (b << 3);
  22.  
  23.     b = 0x00000001 & cval ;
  24.     small += (b << 1);
  25.  
  26.  
  27.     /* build t8c5 */
  28.     b = 0x00000001 & (tblidx >> 8) ;
  29.     big += (b << 9);
  30.  
  31.     b = 0x00000001 & (tblidx >> 7) ;
  32.     big += (b << 7);
  33.  
  34.     b = 0x00000001 & (tblidx >> 6) ;
  35.     big += (b << 5);
  36.  
  37.     b = 0x00000001 & (tblidx >> 5) ;
  38.     big += (b << 4);
  39.  
  40.     b = 0x00000001 & (tblidx >> 4) ;
  41.     big += (b << 3);
  42.  
  43.     b = 0x00000001 & (tblidx >> 3) ;
  44.     big += b;
  45.  
  46.     b = 0x00000001 & (cval >> 5) ;
  47.     big += (b << 8);
  48.  
  49.     b = 0x00000001 & (cval >> 4) ;
  50.     big += (b << 6);
  51.  
  52.     b = 0x00000001 & (cval >> 3) ;
  53.     big += (b << 2);
  54.  
  55.     b = 0x00000001 & (cval >> 2) ;
  56.     big += (b << 1);
  57.  
  58.  
  59.     *t8c5 = big;
  60.     *t2c1 = small;
  61. }
  62.